<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // ------------回顾之前的函数---------------
        // 1. 使用function命令声明函数
        function a(x, y) {
            return x + y;
        }

        // 2. 函数表达式方式声明函数
        let b = function(x, y) {
            return x * y;
        };

        // 3. 构造函数方式声明函数
        let c = new Function('x', 'y', 'return x + y');

        // 4. 自调用形式
        (function(x, y) {
            console.log(x + y);
        })(1, 2);

        // 上述不加括号，可以在前面加 ! ~ +
        ! function(x, y) {
            console.log(x + y);
        }(1, 2);

        ~ function(x, y) {
            console.log(x + y);
        }(1, 2);
    </script>
</body>

</html>